public class SingletonDoubleCheckedLocking {
    private volatile static SingletonDoubleCheckedLocking singletondoublecheckedlocking;

    private SingletonDoubleCheckedLocking() {
    }

    public static SingletonDoubleCheckedLocking getSingletonDoubleCheckedLocking() {
        if (singletondoublecheckedlocking == null) {
            synchronized (SingletonDoubleCheckedLocking.class) {
                if (singletondoublecheckedlocking == null) {
                    singletondoublecheckedlocking = new SingletonDoubleCheckedLocking();
                }
            }
        }
        return singletondoublecheckedlocking;
    }
}
